#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QTimer>
#include<QTcpSocket>
#include<QNetworkInterface>
#include<QMutex>
#include"mythread.h"
#include"menudialog.h"

#define ClientPort 9527
enum MsgType{   //数据包类型
    ChatInfo,   //聊天消息
    MatchInfo,  //匹配消息
    ChessInfo,   //落子信息
    WinInfo      //胜利信息
};
enum ClientType{    //客户端当前状态
    OnLine,     //在线
    Match,      //匹配
    Playing     //游戏中
};

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    void InitStyle();
    void InitOnce();    //只初始化一次
    void InitRobotPk();
    void InitNetworkPk();
    void InitDoublePk();
    void getLocalIP();//获取本地IP

private slots:
    void on_btn_backup_clicked();

    void on_btn_exit_clicked();

    void on_btn_send_clicked();

private:
    Ui::Widget *ui;
    MenuDialog menu;
    int Me_remain_time;    //我的剩余时间
    int Enemy_remain_time;  //对手剩余时间
    QTimer* CountDownTimer_me; //倒计时计时器
    QTimer* CountDownTimer_enemy;
    QString ChatText;   //聊天记录
    QTcpSocket* tcpSocket;
    QString LocalIP;    //本机IP
    int type = OnLine;   //客户端状态

};
#endif // WIDGET_H
